7.2.2 모든 금액의 디지털 통화에 대한 스캔 코드 지불 주문 생성(가맹점이 정의한 환율)
#간단한 설명: 디지털 통화 충전 비즈니스 인터페이스, 사용자는 QR 코드를 스캔하여 USDT(테더)를 디지털 지갑 계정에 충전할 수 있습니다(가맹점의 맞춤형 환율, 판매자의 백엔드 설정에 로그인해야 함)
- 요청방법 : POST
- 요청 인터페이스: https://gateway-domain/wallet-trade-merchant/v1/receive/blockchain/any/custom/rate/create
- 요청 미디어 유형(JSON 데이터 형식)Content-Type: application/json
요청 매개변수
| 매개변수 이름 | 유형 | 필수 | 매개변수 의미 | 매개변수 설명 |
|---|---|---|---|---|
key | string | 예 | 판매자 키 | API키 |
localOrderId | string | 예 | 판매자 플랫폼 현지 주문 번호 | 판매자 플랫폼은 로컬에서 고유한 주문 번호를 생성합니다 |
localUserId | string | 아니요 | 판매자 플랫폼 로컬 사용자 ID | 판매자 플랫폼 로컬 사용자 ID |
notifyUrl | string | 아 니요 | 콜백 주소 | 주문이 성공적으로 완료되면 API 콜백을 통해 가맹점 주소가 통보됩니다. (콜백 내용은 하단 참조) |
successRedirectUrl | string | 아니요 | 점프 주소 | 성공 후 자동으로 해당 주소로 점프 |
currency | string | 예 | 가격 통화 주문 | 가격 책정 통화(지갑 지원 통화) |
userCurrency | string | 예 | 사용자 결제 통화 | 사용자가 지불해야 하는 통화(지갑에서 지원하는 디지털 통화) |
amount | number | 아니요 | 사용자의 예상 결제 금액 | |
isBlockchain | boolean | 아니요 | 블록체인 정보 반환 여부(기본값 false) | true인 경우 콜백 요청은 주문 체인에 거래 정보를 전달합니다 |
networkLimits | array | 아니요 | 메인넷 | TRON, BSC, POLYGON, ETHEREUM 등 지정 결제 메인넷 |
expireSecond | Long | 아니요 | 만료 타임스탬프(초) | |
sign | string | 예 | 서명 | 자세한 내용은 서명 알고리즘을 참조하세요. |
json 샘플 요청
{
"key": "9yUreYgTRtit39Dy",
"localOrderId": "1732322-111",
"notifyUrl": "http://127.0.0.1:8080/merchant-demo/notify",
"amount": 8,
"currency": "CNY",
"userCurrency": "USDT",
"networkLimits": ["TRON"],
"isBlockchain": true,
"sign": "6c82150ae89fc0fa202f98c92023ef04"
}
응답 JSON 예시
{
"code": 0,
"success": true,
"message": null,
"data": {
"orderId": 274185964909271,
"localUserId": null,
"localOrderId": "1732322-111",
"orderType": "PAYMENT",
"orderBizType": "PAYMENT_ANY_USDT_WALLET_SCAN",
"paymentUrl": "https://walletapi.vapyapp.com/any-amount-pay/NanZCtCLCcFQbqbPyy3KJkFPYNTaZGuGjyibkAVjVuebjHWi2QuVrM5QUxg4",
"publicKey": "NanZCtCLCcFQbqbPyy3KJkFPYNTaZGuGjyibkAVjVuebjHWi2QuVrM5QUxg4"
}
}
반환된 PaymentUrl은 아래와 같이 결제 페이지를 팝업으로 표시합니다.
/7.2 数字币任意金额扫码/usdt.jpg)
응답 데이터 매개변수 설명
| 매개변수 이름 | 유형 | 매개변수 의미 | 매개변수 설명 |
|---|---|---|---|
orderId | string | 주문번호 | |
localUserId | string | 판매자 로컬 사용자 ID | |
localOrderId | string | 판매자 지역 주문 번호 | |
orderType | enum | 주문 유형 | PAYMENT:支付订单 WITHDRAW:提款订单 |
orderBizType | enum | 주문업종 | orderBizType 유형 설명은 다음과 같습니다. |
paymentUrl | string | 지불 주소 | |
publicKey | string | 공개 액세스 키 |
orderBizType 유형 설명:
- PAYMENT_WALLET_SCAN MINPAY 지갑 스캔코드 결제
- PAYMENT_TRANSFER 디지털 화폐 바인딩 주소 직접 입금
- PAYMENT_ANY_DIGITAL_SCAN QR 코드를 스캔하여 원하는 금액의 디지털 화폐를 결제하세요.
- WITHDRAW_WALLET MINPAY 지갑으로 돈을 인출하세요.
- WITHDRAW_ANY_DIGITAL_WALLET 디지털 통화를 지갑으로 인출하세요.
- PAYMENT_FIXED_DIGITAL_SCAN 디지털화폐 한도금액 스캔코드 결제
- BATCH_PAY 일괄결제
콜백은 json 데이터를 반환합니다
기본적으로 모든 콜백 매개변수는 서명 확인에 참여합니다. 콜백 매개변수에 대한 자세한 내용은 콜백 ]를 참조하세요.
콜백 데이터
{
"amount": 8,
"bizType": "PAYMENT_FIXED_DIGITAL_SCAN",
"blockchain": {
"network": "TRON",
"receiverAddress": "TA1jptT16DssYWVGdVyFWxonku6hWK7En3",
"senderAddress": "TPutFhYUQnrRxHSmKVwjp55vgk9QY6r5nS",
"txId": "24d0d0e5d417bd2195c45d64724760ae47fc3b359ee31c5fedf25b40f3584b36"
},
"currency": "USDT",
"key": "h3cS7dBltRU4W1wD",
"localOrderId": "2820",
"merchantActualAmount": 8.86,
"extra": {
"quoteAmount": 10,
"quoteCurrency": "CNY",
"quotePrice": 10
},
"merchantCurrency": "CNY",
"merchantId": 303122065665,
"merchantPaidAmount": 10.98,
"merchantUserId": "97",
"notifyTime": 1731572168370,
"orderCreateTime": 1731572133082,
"orderId": "273124814912907",
"sign": "699806308a9e055114c378671b0d2a15",
"status": "SUCCESS",
"type": "PAYMENT",
"userAmount": 1.55,
"userCurrency": "USDT",
"userReceivableAmount": 1.55
}
| 매개변수 이름 | 유형 | 참여 서명 | 매개변수 의미 | 매개변수 설명 |
|---|---|---|---|---|
amount | decimal | 예 | 주문금액 | |
bizType | enum | 예 | 주문 유형 | |
blockchain | object | 예 | 체인거래 정보 | 주문 요청 매개변수 isBlockchain이 true인 경우 콜백 요청은 이 객체 정보를 전달합니다. (온체인 트랜잭션만 관련된 경우 isBlockchain 매개변수가 적용됩니다.) |
| └네트워크 | String | 예 | 메인넷 | |
| └수신자주소 | String | 예 | 수신자 주소 | |
| └발신자주소 | decimal | 예 | 보내는 주소 | |
| └txID | String | 예 | 거래 ID | |
currency | String | 예 | 통화 | |
key | String | 예 | 판매자 키 | |
localOrderId | String | 예 | 지역 주문 번호 | |
merchantActualAmount | decimal | 예 | 가맹점 실제 결제 금액 | |
merchantCurrency | String | 예 | 가맹점 결제 통화 | 기본 통화 |
merchantId | String | 예 | 판매자 ID | |
merchantPaidAmount | decimal | 예 | 가맹점 결제금액 | |
merchantUserId | String | 예 | 사용자 ID | |
notifyTime | long | 예 | 콜백 시간 | |
orderCreateTime | long | 예 | 주문 생성 시간 | |
orderId | String | 예 | 주문번호 | |
status | String | 예 | 결제현황 | |
type | String | 예 | 주문 유형 | PAYMENT:支付 WITHDRAW:提款 |
userAmount | decimal | 예 | 사용자 결제금액 | |
userCurrency | String | 예 | 사용자 결제 통화 | |
sign | String | 아니요 | MD5 서명 | 자세한 내용은 서명 알고리즘을 참조하세요. |
extra | object | 예 | 다음 매개변수가 포함되어 있습니다. | |
| └견적금액 | number | 예 | 주문 견적 금액 | |
| └quote통화 | number | 예 | 견적 통화 주문 | |
| └견적가격 | string | 예 | 견적 가격 주문 | |
userReceivableAmount | string | 예 | 이용자가 지불할 금액 |
콜백 알림을 받으면 처리가 완료된 후 메시지가 성공적으로 수신 및 처리되었음을 나타내는 성공 문자열을 직접 반환해 주세요. 시스템이 성공 응답을 받은 후에는 더 이상 콜백을 반복적으로 보내지 않습니다. 예상된 응답을 받지 못한 경우(성공이 반환되지 않거나 예외가 반환됨) 시스템은 단계적 재시도 메커니즘에 따라 최대 14회 재시도하여 콜백 알림을 다시 보냅니다. 현재 재시도 간격은 다음과 같습니다. 15대, 15대, 30대, 180년대, 600년대, 1200년대, 1800년대, 1800년대, 1800년대, 3600년대, 10800년대, 10800년대, 21600년대, 21600년대